home *** CD-ROM | disk | FTP | other *** search
/ PC World Interactive 1 / PC World Interactive 1 - Nisan 1997.iso / nostalji / bbs / faq / mailist.txt < prev    next >
Internet Message Format  |  1995-07-17  |  89KB

  1. Path: senator-bedfellow.mit.edu!faqserv
  2. From: naleks@Library.UMMED.EDU
  3. Newsgroups: comp.mail.list-admin.software,comp.answers,news.answers
  4. Subject: Mailing list management software FAQ
  5. Supersedes: <mail/list-admin/software-faq_803550313@rtfm.mit.edu>
  6. Followup-To: poster
  7. Date: 17 Jul 1995 11:21:23 GMT
  8. Organization: none
  9. Lines: 1527
  10. Approved: news-answers-request@mit.edu
  11. Expires: 28 Aug 1995 11:19:59 GMT
  12. Message-ID: <mail/list-admin/software-faq_805979999@rtfm.mit.edu>
  13. Reply-To: naleks@Library.UMMED.EDU
  14. NNTP-Posting-Host: bloom-picayune.mit.edu
  15. Summary: Mailing list managers are the programs operating mail-based
  16.     discussion lists -- ListProc, LISTSERV, and Majordomo are three well-
  17.     known examples.  This FAQ briefly describes the popular packages, tells
  18.     you where they can be found, and offers advice on how to choose one.
  19. X-Last-Updated: 1995/01/24
  20. Originator: faqserv@bloom-picayune.MIT.EDU
  21. Xref: senator-bedfellow.mit.edu comp.mail.list-admin.software:691 comp.answers:13133 news.answers:48600
  22.  
  23. Archive-name: mail/list-admin/software-faq
  24. Posting-Frequency: every 28 days
  25. Version: 1.1 (last revised 1995/01/24 16:46:57)
  26.  
  27. *This FAQ is in digest format. In rn and trn, ^G skips to the next section.*
  28.  
  29.  
  30.                               C O N T E N T S
  31.  
  32. Part 0:  Administrivia
  33.  
  34. 0.00  Copyright
  35. 0.01  Introduction
  36.  
  37. Part 1:  Do you really need an MLM?
  38.  
  39. 1.00  Running your list without an MLM
  40. 1.01  Using someone else's MLM
  41.  
  42. Part 2:  Things to think about when choosing an MLM
  43.  
  44. 2.00  What's your preferred software-design philosophy?
  45. 2.01  How much money, time, and expertise do you have?
  46. 2.02  Are you tied to a particular operating system?
  47. 2.03  Do you need to modify the MLM's source code?
  48. 2.04  Performance and system-load issues related to server activity
  49. 2.05  Performance and system-load issues related to mail delivery
  50. 2.06  Features and usability for administrators
  51. 2.07  Features and usability for users
  52. 2.08  Loop detection and elimination
  53.  
  54. Part 3:  Specifics per package
  55.  
  56. 3.00  MLM's in general
  57. 3.01  Almanac [v. 1.5.1b]
  58. 3.02  BMW [v. 5.0]
  59. 3.03  IDG
  60. 3.04  ListProc, free version [v. 6.0c]
  61. 3.05  CREN ListProc [v. 7.1]
  62. 3.06  LISTSERV [v. 1.8a]
  63. 3.07  Mailbase
  64. 3.08  MAISER (part of the Mercury Mail Transport System) [v. 1.13]
  65. 3.09  Majordomo [v. 1.92]
  66. 3.10  MReply [v. 1.71]
  67. 3.11  MXSERV (MX/MLF, part of the Message Exchange system) [v. 4.1]
  68. 3.12  SmartList [v. 3.10]
  69. 3.13  Smof Listserver for DOS/KA9Q. [v. 05l]
  70. 3.14  TULP [v. 4.0.0]
  71.  
  72. Part 4:  Appendices
  73.  
  74. 4.00  Where to get the current version of this FAQ
  75. 4.01  Changes in this version
  76. 4.02  Acknowledgements
  77. 4.03  Acronyms explained (FAQ, MLM, MTA, MUA)
  78. 4.04  URL's -- how to read them and use them
  79.  
  80. ------------------------------
  81.  
  82. Subject: 0.00  Copyright
  83.  
  84. The MAILING LIST MANAGEMENT SOFTWARE FAQ is
  85. copyright (c) 1994 and 1995 Norm Aleks <naleks@Library.UMMED.EDU>
  86.  
  87. First-person singular pronouns used in this document refer to Norm Aleks.
  88.  
  89. I grant you, the reader, permission to redistribute this document and to
  90. quote it in whole or in part, provided 1) that you make no charge for the
  91. copy OR for whatever the copy is included in, and 2) that you include an
  92. attribution with, at minimum, my name and e-mail address, the FAQ's revision
  93. date and version number, and at least two locations from which a current
  94. version may be retrieved (see Section 4.0) -- i.e., as is always the case
  95. when you quote someone else's work, you must use a footnote or its
  96. equivalent.  For any other use, you must obtain my written permission.
  97.  
  98. Here's a suitable reference for quotes from this version of the FAQ:
  99.  Aleks N. <naleks@Library.UMMED.EDU>. _Mailing List Management Software FAQ_
  100.  (ver. 1.1, revised 1995/01/24 16:46:57). Published monthly on USENET in
  101.  news.answers, comp.answers, and comp.mail.list-admin.software, and archived
  102.  at URL "ftp://ftp.uu.net/usenet/news.answers/mail/list-admin/software-faq".
  103. (It's not really necessary to include the revision time -- you see it above
  104. only because I can't stop my revision-control software from showing it.)
  105.  
  106. ------------------------------
  107.  
  108. Subject: 0.01  Introduction
  109.  
  110. MAILING LIST MANAGEMENT SOFTWARE FAQ, v. 1.1  (1995/01/24 16:46:57)
  111.  
  112. Perhaps you have a topic you're dying to discuss on your very own e-mail
  113. discussion list.  Perhaps you need to set up a up a mailing list manager
  114. ("MLM") for others to use.  In either case, you have many alternatives for
  115. managing mailing lists.  This FAQ outlines some criteria that may be useful
  116. to you in deciding whether you need an MLM, and which one is right for you.
  117. It also includes listings of many available MLM's, along with pointers to
  118. where to get them and where to talk about them.
  119.  
  120. About the examples used in this document: non-Unix software isn't covered
  121. well, I know -- but only out of ignorance, not because it shouldn't be
  122. covered.  Representation in the examples is biased toward Majordomo,
  123. LISTSERV, and ListProc 6.0c, partly because they're popular and
  124. representative of several points I want to make, and partly because those are
  125. the systems I have administered :-).  I spend a fair amount of time here
  126. talking about features and optimizations necessary for large lists, and that
  127. means I also talk a lot about the features available in LISTSERV and
  128. ListProc, the two very-high-end packages I know well.  (Mailbase also falls
  129. into this category, I believe, but I don't have the right hardware for
  130. Mailbase so I've never managed it.)  Think of feature discussions as a guide
  131. toward what to look for and think about, not as a "must-have" list.  And
  132. finally, keep in mind what *you* need -- I talk about busy servers because
  133. they're interesting, but if you expect low activity, much of this discussion
  134. is irrelevant to you.
  135.  
  136. Here are some ways I currently want to add to or change this FAQ:
  137. 1. Discuss various packages' support for languages besides English.
  138. 2. Talk more about what non-sysops can do to run lists.
  139. 3. Minimize the display of my own biases, which now are prominent.
  140. 4. Cleanly compare MLMs' feature lists, for "feature shoppers."
  141. 5. Talk about the facilities each package offers for spam control.
  142. 5. Collect all the "philosophy" issues into one section.
  143.  
  144. Please send suggestions for additions or changes to naleks@Library.UMMED.EDU,
  145. and I will try to include them in the next version of the FAQ.
  146.  
  147. ------------------------------
  148.  
  149. Subject: 1.00  Running your list without an MLM
  150.  
  151. You don't need a mailing-list manager to run a mailing list -- some very
  152. low-tech solutions do just fine, especially if your subscribership is stable.
  153.  
  154. If your list is moderated (i.e. you check that each message is appropriate
  155. before distributing it to the list), all you need to do is maintain a list of
  156. subscribers in your favorite e-mail program.  When a message arrives, you
  157. forward it to the list.  Two hints if you do take this route: If your mail
  158. program has a "bounce" function, you should use it -- that will preserve the
  159. "From:" header indicating who originally sent the message, listing your
  160. e-mail address as "Resent-From:", which is more appropriate.  You also should
  161. consider putting your list of addressees on the "Bcc:" line rather than the
  162. "To:" line, so that if people reply to a message it comes back only to you,
  163. and not to the list (bypassing you and your moderation function).
  164.  
  165. You can set up a fully automatic mail reflector, if you're on a Unix system
  166. running Sendmail, by using the Sendmail "alias" function (described well in
  167. _Sendmail_, the O'Reilly & Associates "bat book").  If your system
  168. administrator is willing to set up a special alias for your list, you can
  169. maintain the list simply by editing the file to which the alias points, and
  170. people sending mail to the alias will have their mail bounced out to the
  171. whole list.  (Some systems include specific support for lists, i.e. DG/UX's
  172. use of a "lists" directory for aliases as noted by <windigo@thepoint.com>.)
  173. Be warned, though, that this approach has a lot of problems -- mailing loops
  174. are a distinct possibility, and there's absolutely no control over who can
  175. post to the list, or what they can post.  If you must have automatic
  176. distribution of messages, you should look into using an MLM.
  177.  
  178. ------------------------------
  179.  
  180. Subject: 1.01  Using someone else's MLM
  181.  
  182. If your system isn't well connected or you're not the system administrator,
  183. you may be better off using the MLM on someone else's system.  Alternatively,
  184. there are a few MLM's that can be installed and run on Unix systems without
  185. root access (though you'll always want a few new aliases set up, and the
  186. system administrator has to get involved in making those).  Three packages
  187. that are designed to work well for non-root administrators are SmartList,
  188. MReply, and IDG; others may work well, too, and I will check on that more
  189. carefully for future versions of this FAQ.
  190.  
  191. Many commercial services now provide MLM services to their subscribers.
  192. Using your provider's MLM, you don't need to worry about the system's care
  193. and feeding, or the heavy loads an MLM can generate (though many large lists
  194. do run well on small machines).  Contact your provider for details.
  195.  
  196. If your list is not for profit, you may find someone to host it on their MLM
  197. for free.  If you're an academic in the U.K., the people at mailbase.ac.uk
  198. may be able to help you: read about Mailbase below, then write to its
  199. maintainers, telling them how many subscribers the list will have, how many
  200. messages you expect each day, and whether you will need any storage space for
  201. message archives or associated files.  Outside the U.K., check with the large
  202. and friendly community of LISTSERV administrators on LSTSRV-L@uga.cc.uga.edu.
  203. Subscribe to LSTSRV-L as described in the LISTSERV section below, then post a
  204. message asking (politely!  and giving the same information as outlined for
  205. Mailbase) if anyone has the facilities and the interest to run your list for
  206. you.  Both LISTSERV and Mailbase are built for remote administration, so if
  207. you have just an e-mail account this is a good way to go.
  208.  
  209. ------------------------------
  210.  
  211. Subject: 2.00  What's your preferred software-design philosophy?
  212.  
  213. One of two philosophies is behind any program's design: "big is beautiful" or
  214. "small is beautiful."  AT&T's original design for Unix was "small is
  215. beautiful": small tools exist for every purpose, and they can be linked
  216. together in defined ways to accomplish most goals.  On the other hand, Larry
  217. Wall designed Perl, a program many people now think of as an essential Unix
  218. tool, in the "big is beautiful" model: by combining features of sed, awk, C,
  219. and the shell, he came up with something he and others believe is more than
  220. the sum of its parts.
  221.  
  222. Why should you care?  Well, maybe you don't need to, but this "big vs. small"
  223. dichotomy goes a long way toward describing the differences between the
  224. available MLM's.  Look at the differences between Majordomo and LISTSERV as
  225. examples of each approach, and see which appeals to you more.  (TULP is
  226. probably an even better example than Majordomo, but I know Majordomo better
  227. and will therefore use it for this discussion.)
  228.  
  229. When Brent Chapman originally wrote Majordomo, it was clearly a "small is
  230. beautiful" program.  He had tried to compile and set up ListProc and gotten
  231. frustrated; he whipped together something in Perl that would do what he
  232. needed.  What he needed, specifically, was something to automatically manage
  233. the addition and removal of subscriber names from his Sendmail alias lists.
  234. As Majordomo was originally written, maintaining the alias lists was the
  235. entire extent of its job -- *all* other work was handled by other programs.
  236. Majordomo has expanded considerably since then (certainly beyond Brent's
  237. original plans -- he has written that he thinks even the addition of file
  238. server functions was a mistake, as they can be served as well or better by
  239. dedicated archive servers), but the people working on it have tried to
  240. maintain its purity of vision.  Majordomo tends to see most things in terms
  241. of Unix regular expressions and Sendmail alias lists: for example, the
  242. Majordomo equivalent of the LISTSERV "set digest" and "set nomail" commands
  243. (which cause a user's mail to be batched, or not to be sent) is simple: to
  244. stop getting mail, the user unsubscribes; to get digests, the user
  245. unsubscribes, then resubscribes to a separate digest list.  This approach
  246. obviously has limits -- LISTSERV offers dozens of options, for example, and
  247. there can't be a list for each combination -- but that's OK, because
  248. Majordomo doesn't want to provide every option, it wants to manage lists and
  249. let other programs handle other jobs.  Because Majordomo is relatively small
  250. and focused, it is comprehensible as a whole by many of the people who use
  251. it.  This, along with its free source code, can explain much of its
  252. popularity.
  253.  
  254. LISTSERV, on the other hand, is the MLM poster child for "big is beautiful"
  255. programs.  As its users needed more features for various functions, Eric
  256. Thomas added them to LISTSERV; his program attempts to satisfy every need a
  257. mailing-list subscriber could have, and it does it in a fairly integrated
  258. way.  However, LISTSERV and kin (primarily ListProc and Mailbase) are more
  259. complex programs than the simple MLM's like Majordomo and TULP.
  260.  
  261. ------------------------------
  262.  
  263. Subject: 2.01  How much money, time, and expertise do you have?
  264.  
  265. LISTSERV and CREN ListProc are commercial products, licensed by the year
  266. (more or less -- each has several licensing plans and you should contact
  267. their vendors for details).  In exchange for your money you get a product
  268. that's stable, documented, and pretty simple to set up, with paid support
  269. people to help you out if you get into trouble.  The other MLM's are free,
  270. with varying levels of support from their users and maintainers.  Each
  271. package has a mailing list for users, on which you can ask questions like
  272. "digesting doesn't work, what do I do?"  Many people are satisfied with this
  273. sort of support; you may or may not be.  Talk to current users of each
  274. package you're considering to get a feel for whether you're comfortable with
  275. its combination of administrative burden and software cost.
  276.  
  277. ------------------------------
  278.  
  279. Subject: 2.02  Are you tied to a particular operating system?
  280.  
  281. [This section, obviously, is under development.  Help me out, please]
  282.  
  283. A frequent question about MLM's is "Can I run one on my Mac?"  Or, "What's
  284. available for a PC?"  Or, "How about Brand X Unix?"  Here are some listings
  285. of what's available by platform.  For information on where to find them,
  286. etc., see the more detailed references at the end of the FAQ.
  287.  
  288. (asbestos shorts time) To me, MLM's for Mac-OS and DOS are like piano-playing
  289. poodles -- I'm reluctant to evaluate them in terms of performance because
  290. it's remarkable that they work at all.  In the first place, both OS's crash
  291. too much to make good servers; in the second, their multitasking is weak or
  292. non-existent.  But if you have very limited needs for an MLM and you
  293. absolutely don't want to deal with a new operating system -- and that
  294. certainly is a legitimate concern -- check out these packages: for DOS, the
  295. "Smof Listserver"; for the Mac, MailShare (which, while not an MLM proper, is
  296. said to provide MLM functions -- check sumex-aim.stanford.edu, I haven't seen
  297. it myself). Peter Lewis, who has written several Mac TCP/IP programs, is supposed to be working on a new Mac MLM as well, which will be nice
  298. to see.  If you have a NetWare server, you may want to check out the Mercury
  299. Mail Transport System, which includes an MLM called MAISER.
  300.  
  301. If you just want to run your MLM on PC hardware, you have many choices.  The
  302. easiest thing is to run Unix on your PC -- Linux (which is free), BSDi, SCO,
  303. Solaris, and NeXT are some of your choices.  Once you run Unix, you can run
  304. most of the packages on this list.  Alternatively, you can run Windows NT,
  305. for which LISTSERV is available and ListProc support has been pre-announced.
  306. OS/2 is a solid operating system and should also be an option, but I don't
  307. know of any MLM's running under it.  Please write me if you do.
  308.  
  309. If you have a bizarre flavor of Unix, there's still a good chance that
  310. SmartList will run on it, out of the box.  If not, the two Perl packages
  311. (Majordomo and BMW) shouldn't be too hard to port if you have Perl and
  312. Sendmail available.
  313.  
  314. On IBM mainframes, your choice is LISTSERV, which runs only under VM/CMS.
  315.  
  316. Under VMS, you have a choice between LISTSERV, MX, and PMDF Mailserv (sold by
  317. Innosoft, but about which I know nothing more -- someone, please fill me in).
  318.  
  319. ------------------------------
  320.  
  321. Subject: 2.03  Do you need to modify the MLM's source code?
  322.  
  323. If you have specific needs not handled in the packages described here, you
  324. may want to modify an available package's source code.  You may even want to
  325. write your own MLM, in which case we'll add an entry to this list :-).
  326. Almanac, BMW, Majordomo, MReply, SmartList, and TULP come with source that's
  327. free to modify. ListProc 6.0c comes with source, but there are restrictions
  328. on what you can modify, AND you're not allowed to distribute your changes --
  329. this means that, except for bug fixes released by its author, the free
  330. version of ListProc will develop no further.  CREN ListProc, LISTSERV,
  331. Mailbase, Mercury MAISER, MX, and Smof come as binaries only, although
  332. ListProc, LISTSERV, and Mailbase each include strategic hooks for shell
  333. scripts, allowing you to modify the system's behavior.  Of the systems for
  334. which you get source code, Almanac, ListProc 6.0c, MReply, and TULP are
  335. written in C (with some shell scripts in ListProc and one optional Perl
  336. script in TULP), BMW and Majordomo are written in Perl (one C routine in
  337. Majordomo), and SmartList is written in a mixture of C, shell scripts, and
  338. Procmail's rule-processing language, and IDG is written in the Korn shell.
  339.  
  340. ------------------------------
  341.  
  342. Subject: 2.04  Performance and system-load issues related to server activity
  343.  
  344. The system load an MLM imposes is affected by how it organizes its work in
  345. command processing.  Just about any method is OK if your MLM isn't going to
  346. have much activity (in both postings and server requests), but when you get
  347. into bigger systems the MLM's efficiency turns into a real concern.  "Big,"
  348. here, means a server processing dozens of messages, tens of thousands of
  349. recipients, hundreds of requests -- numbers like that, or bigger.  Really big
  350. LISTSERV systems, for example (I use them as an example because their
  351. statistics are posted monthly on LSTSRV-L) may send out an average of half a
  352. million messages a day, meaning they may do a million on a busy day.
  353.  
  354. A decent guideline for evaluating an MLM's potential load on your system is,
  355. how many processes does it start under light, moderate, and heavy loads?
  356. Let's look first at the minimum load imposed by each Majordomo, SmartList,
  357. ListProc, LISTSERV, and TULP, and then at what happens when they're busy.
  358.  
  359. "Low load": Majordomo and SmartList are started by Sendmail only when a
  360. message arrives, so that in a baseline state they occupies no resources at
  361. all.  ListProc, LISTSERV, and TULP each keep a server daemon running at all
  362. times, so that even idle they increase the baseline load on your system by
  363. some amount (the penalty is mostly in swap space).
  364.  
  365. "Heavy load": the tables turn.  Majordomo starts up a Perl process, and
  366. possibly a couple of Sendmail processes, for every message that arrives.
  367. Because Perl is interpreted, and because each new Majordomo and Sendmail
  368. process must interpret its configuration files from scratch, there is
  369. substantial overhead involved in processing each message.  There is no
  370. mechanism to serialize requests, either: if several messages come in at once,
  371. Sendmail fires up an independent Majordomo for each one, and the load
  372. multiplies -- even more so because the independent Majordomos don't organize
  373. to manage file locks, and many of them will sit around for a while (occupying
  374. system resources) as they wait for some other process to release a lock.  In
  375. a message onslaught, your poor system will start to thrash, and you'll be
  376. distressed :-).  SmartList starts up a Procmail process, and possibly a
  377. couple of Sendmail processes, for each message that arrives.  Although
  378. Procmail also uses an interpreted language and like Majordomo needs to read
  379. its configuration files from scratch, SmartList has a lower impact on system
  380. resources because the Procmail interpreter is smaller and (for its job) more
  381. efficient than Perl.  SmartList, by default, handles list submissions in
  382. parallel and administrative requests serially per mailing list, or per
  383. arbitrary group of mailing lists.  In contrast to Majordomo and SmartList,
  384. the ListProc, LISTSERV, and TULP daemons serialize all requests without
  385. multiplying.  Your outgoing mail queue may build up, but even that's not a
  386. problem in most cases because Sendmail (or any other MTA you may use) can be
  387. configured to queue mail when the system is heavily loaded.  As a final
  388. optimization, LISTSERV even maintains an open connection to your system's
  389. port 25 for delivery of outgoing mail; its assumption is that requests will
  390. come in fairly regularly, and that the average load of maintaining an open
  391. Sendmail process is less than that of starting one, then tearing it down for
  392. each new request that arrives.  The bottom line with a daemon-running MLM is
  393. that there is a decreased load on busy systems, and an increased load for
  394. lightly-used systems, but the biggest benefit is that the load is
  395. *predictable*.
  396.  
  397. Of course, just looking at process count is simplistic, but it gives you an
  398. idea of the things the higher-end MLM's do to reduce system load.  When you
  399. get into really big lists, other features start to make a difference.  As
  400. another small example, without getting too deep into these issues
  401. (salespeople can do that if you're running a gigantic server): LISTSERV
  402. maintains hashed indices to all of its lists so that it can guarantee quick
  403. name lookups even on very large lists.  Think: when a list has 25,000
  404. subscribers, even a grep through it takes a non-trivial time, and that
  405. database of names needs to be checked *every* time a request comes in.  If
  406. you're running a list with a LOT of activity (say, as some people have, you
  407. visualize tens of thousands of people subscribing within a single day), you
  408. can't afford to have a single subscription taking more than a second or two
  409. of CPU time, in total.
  410.  
  411. The point is, if you are going to run big lists, it's worth your while to
  412. check out what each system does to manage it efficiently.  Most approaches
  413. don't scale well, when pressed.
  414.  
  415. ------------------------------
  416.  
  417. Subject: 2.05  Performance and system-load issues related to mail delivery
  418.  
  419. The main issue in distributing to large lists is, how quickly can you get the
  420. mail out?  Most MLM's leave routing and optimization decisions up to the MTA
  421. (Mail Transport Agent, usually Sendmail under Unix), but some other systems
  422. -- notably ListProc, LISTSERV, and SmartList -- take a more active approach
  423. in managing network load.  To illustrate, let's look at the path mail takes
  424. to delivery in each of these four systems.
  425.  
  426. Majordomo (a good example of the "leave-it-to-Sendmail" model), once it
  427. decides to forward a message to a list, passes it to a single Sendmail
  428. process along with the addresses for the entire list.  Sendmail then does
  429. what it can to optimize delivery (i.e.  sorting by MX record), and starts
  430. connecting to each machine in series.  The result on a 200-subscriber list,
  431. with everyone in the U.S.  and most with different mail exchangers, is that
  432. there's about an hour's delay between the first delivery and the last.  This
  433. delay is dependent more on the speed of the recipient machines than on the
  434. speed of the host or the network link, so it varies pretty much linearly with
  435. the number of systems Sendmail has to connect to.  This can be a big problem
  436. on a large and active list, because people late in the delivery queue will
  437. see and reply to "new" messages that others have seen (and perhaps replied
  438. to) several hours before -- conversations will get "out of sync."  On the
  439. other hand, much longer delays might not matter for a list that consisted
  440. only of infrequent announcements, without discussion.
  441.  
  442. ListProc speeds up the delivery process for large lists by passing each
  443. message off to your MTA (usually Sendmail, but ListProc doesn't care, it just
  444. connects to port 25 with SMTP) in chunks of N addresses, where N is
  445. defineable.  Depending on how the MTA is configured, delivery will usually be
  446. faster because deliveries are parallelized -- the longest list is of size N.
  447. However, Sendmail can't optimize deliveries as much, because no particular
  448. Sendmail process has the entire list to work with.  Thus network efficiency
  449. can go down (not actually a big problem, because ListProc produces "chunks"
  450. sorted by domain).  Also, the peak load on your system increases because
  451. several Sendmails are running at once.  (To avoid extreme loads on your
  452. system, ListProc can be configured to wait some number of seconds every X
  453. addresses -- this gives Sendmail a breather.  Note that CREN recommends that
  454. Zmailer be used as the MTA for large lists; Zmailer does more flexible and
  455. efficient queueing than Sendmail's, eliminating many of these problems.)
  456.  
  457. SmartList uses a method similar to ListProc's, splitting up the address list
  458. into chunks of a configurable size before passing them to the MTA (via the
  459. command line, not by port 25).  However, it goes one better in that instead
  460. of simply controlling the number of addresses per chunk, SmartList lets the
  461. system administrator control maximum and minimum sizes per chunk, thus
  462. letting SmartList attempt to make "smart" choices about breaks between the
  463. chunks -- e.g. it would try to avoid breaking apart a group of addresses
  464. within a domain.  Also, instead of simply specifying "send this many
  465. addresses and wait," with SmartList the administrator can specify, per list,
  466. the maximum number of MTA processes that should run simultaneously, thus
  467. managing the load-vs.-speed issues more directly.
  468.  
  469. Finally, LISTSERV uses a specialized "distribute" routine (described briefly
  470. in RFC1429) that takes advantage of the cooperation of LISTSERV systems
  471. around the world.  First, it sends copies of the message to all "local"
  472. subscribers, connecting to your MTA through port 25 as ListProc does.  Then,
  473. it scans the list to find recipients who are in other LISTSERV sites' local
  474. areas, and it passes all those addresses, with a single copy of the message,
  475. to the nearest LISTSERV core site, which assures delivery with no further
  476. involvement by your system.  Finally, it takes the "leftover" addresses --
  477. the ones it couldn't recognize as "belonging" to any particular LISTSERV site
  478. -- and delivers them as if they were local.  ("Local" deliveries, passed to
  479. your own MTA, are batched using the same method as ListProc.)  Especially
  480. when LISTSERV can map many of your subscribers to other LISTSERV territories
  481. (it works best with non-U.S. and .edu addresses), and if many of those
  482. subscribers are across slow or expensive links from you, this can result in
  483. very high efficiency -- for example, a U.S.  message destined for 1000
  484. European users on different hosts would cross the Atlantic just once and then
  485. "fan out."  Thus, DISTRIBUTE can both reduce network load and make it
  486. possible for small machines to handle large lists -- it can also result in
  487. high speed delivery, because in the best case more than 100 servers will work
  488. on your job simultaneously.  However, it helps less for lists with few
  489. distant users, and it also results in each site taking on local deliveries
  490. for others, thus increasing the local delivery load.
  491.  
  492. Why doesn't everyone use DISTRIBUTE, you might ask.  There are a few reasons.
  493. A big one is that it currently runs only on LISTSERV, and many people
  494. associate that with BITNET and big IBM iron (distasteful to many Unix
  495. natives).  Another reason is that DISTRIBUTE isn't an *ideal* solution to
  496. mass mailings on the Internet -- it's a BITNET tool that's been moved over
  497. and works pretty well, but not ideally.  The big problem is that DISTRIBUTE
  498. computes routes using static tables (updated periodically by L-Soft).  This
  499. is a fine method on BITNET, where network topology is known and stable, but
  500. not perfect for the Dynamic Internet(tm).  You just can't get any granularity
  501. with a static table when things are always changing around you -- in fact,
  502. *any* centralized database will be a hassle.  This problem was recognized a
  503. long time ago in relation to Internet host names, and the solution was the
  504. Domain Name System.  The DNS is likely to play a big part in the ideal
  505. mail-distribution system, as well: there has been talk of extending the
  506. MX-record system with a bulk-mail-recipient record, but nothing definitive
  507. has been proposed.  The bottom line for now is that someday, whether it's
  508. another proprietary system or it's a new Internet standard, something will
  509. replace DISTRIBUTE ...  but for now it's the most efficient, widely used
  510. mass-mailing distribution system out there.
  511.  
  512. If you're willing to do the work to coordinate with other people, you can set
  513. your list up with something like DISTRIBUTE on a custom basis.  Just arrange
  514. for "exploder" MLM's in appropriate places (that is, across slow or expensive
  515. links and centered in a group of subscribers), and send mail to each of these
  516. exploders as part of your mail job.  They will then distribute to their own
  517. people, and you'll get the network efficiency of DISTRIBUTE plus parallelized
  518. delivery -- a nice deal!  The problem is that you have to make sure everyone
  519. is subscribed at the correct site, but with a disciplined subscribership it
  520. can work.  (LISTSERV actually supports this arrangement as well, as a
  521. holdover from pre-DISTRIBUTE days -- the various lists are considered to be
  522. "peered," and on request the system allocates users among the servers based
  523. on network proximity and system load.)
  524.  
  525. ------------------------------
  526.  
  527. Subject: 2.06  Features and usability for administrators
  528.  
  529. Administrator load is affected by how many decisions the MLM can make on its
  530. own using administrator guidelines, and by how much "required feedback" it
  531. gives the administrator.  It is also affected by how well the MLM supports
  532. subscribers, of course; if they're confused, they'll ask the system
  533. administrator or list owner for help -- but that's treated in the next
  534. section.  Finally, there are some basic functions, usually invisible, the MLM
  535. should provide to prepare mail for widespread distribution and to protect
  536. users from others who try to impersonate them.
  537.  
  538. Do you want to be told each time a user subscribes or unsubscribes to a list?
  539. How about when a password fails?  How about when a user makes a mistake?
  540. Some systems make these choices configurable on a list-by-list basis.  If
  541. your site is busy, this can save you a lot of "useless" mail; if it's not,
  542. you may want to hear about everything.
  543.  
  544. As your lists grow, interpreting delivery failures will occupy more and more
  545. of your time.  Some systems automatically interpret delivery error messages
  546. to, say, automatically remove the address of a cancelled account, and this
  547. certainly can save you time.  Don't expect miracles, though: none of these
  548. systems is perfect, mostly because of the wide variety of error messages
  549. returned by MTA's. LISTSERV and ListProc include an error-interpretation
  550. capability in their base distribution; each tries to distinguish between
  551. "permanent" failures and "non-permanent" failures, removing a user only after
  552. a permanent failure (account closed, etc.).  Majordomo's approach, out of the
  553. box, is a "bounce" script the administrator can run upon receiving error
  554. mail, which removes the address in question from the main list and adds it to
  555. a list called "bounces," which is then sent periodic "you've been bounced"
  556. notes.  (A new Majordomo script is being developed which will work in
  557. somewhat the same way as LISTSERV's and ListProc's bad-address function.)
  558. SmartList's delivery-error routines are the most sophisticated: When it
  559. receives a bounce message, it first attempts to decide (as LISTSERV and
  560. ListProc do) whether the bounce is temporary or permanent.  Then, it passes
  561. the error message through several increasingly fuzzy filters, trying to find
  562. the address that was the problem (a difficult task even for a human).  If it
  563. does find the address, SmartList increments a counter for that address's
  564. total consecutive bounces; when the count exceeds some threshold defined by
  565. the administrator, the address is unsubscribed (unless SmartList wasn't
  566. "sure" about the address, in which case it will merely inform the
  567. administrator).  One bounce before the unsubscribe threshold, SmartList
  568. attempts to send a final warning to the subscriber, including the text of the
  569. bounce error message.
  570.  
  571. If you plan to have your lists administered by people who don't have accounts
  572. on your system, you will want a system that is easy to configure by mail.
  573. LISTSERV is probably the easiest in this regard; it uses a single "list
  574. header" file that contains subscriber addresses plus some control keywords,
  575. most of which are optional.  CREN ListProc is pretty good too, though its use
  576. of separate commands to set each option makes it more difficult to get an
  577. overview of the list's setup.  Mailbase is supposed to be quite good, but I
  578. haven't tried it.  Majordomo 1.9 is also very good; its configuration file,
  579. which always lists all options, can be forbidding to a novice list owner but
  580. always reminds you of what's available.  SmartList and MReply both include
  581. facilities for administration by users who *do* have shell accounts on your
  582. system; other programs and the older versions of ListProc (6.0c and back) and
  583. Majordomo (1.62 and back) can't satisfactorily be configured by list owners,
  584. but require the involvement of the system administrator.
  585.  
  586. When mail is forwarded to a list, some headers shouldn't be included -- one
  587. example is the "Return-receipt-to:" header, which if distributed to the list
  588. can result in an overwhelming flood of automated responses to the sender's
  589. system.  There are two main approaches to sanitizing the headers: excluding
  590. known dangerous headers, and passing only known safe headers.  Majordomo uses
  591. the forbidden-headers approach, stripping them in its "resend" routine.
  592. ListProc uses the opposite approach, passing only the headers it knows and
  593. stripping the rest.  Both can have their criteria modified by the system
  594. administrator; such changes are system-wide.  (By the way, ListProc 6.0c has
  595. a problem with MIME no matter how it's configured: it passes only the first
  596. line of a "MIME-Version:" header, thus trashing complex MIME documents.  CREN
  597. ListProc fixes this.)  SmartList lets you choose either approach, on a
  598. list-by-list basis.  LISTSERV also lets you use either approach, but on a per
  599. subscription basis, with the list owner choosing the list default.  It does
  600. this by offering four types of message headers selectable by the subscriber:
  601. "Short" headers are like ListProc's; "Full" headers are like Majordomo's;
  602. "IETF" headers are the absolutely unmodified originals, with nothing
  603. stripped; and "Dual" headers are for users of rotten PC MUA's that don't show
  604. headers (they result in a "Short" RFC822 header, followed by a message body
  605. repeat of the most important header information).
  606.  
  607. Sometimes the MLM needs to be sure the person sending it a command is truly
  608. who he or she says.  Forging mail is trivial, so the From: line really can't
  609. be trusted -- even so it's the only identification most MLM's require.  Three
  610. exceptions: 1. ListProc 6.0c uses the envelope "From_" line, which is
  611. annoyingly different (the distribution does include a patch to make it use
  612. "From:" like everyone else).  2. Majordomo lets a sender reset his or her
  613. identity by using the "Reply-To:" header -- after all, if forging is so easy,
  614. why not make legitimate use easier?  (This may sound scary, but it can save
  615. you a lot of hassle when people subscribe from one address then move to
  616. another -- if they understand Majordomo, they don't have to get the list
  617. owner involved in changing addresses.)  3. SmartList reads *all* the sender
  618. fields, including "From_", "From:", "Sender:", "Reply-To:", and the signature
  619. text if any, then chooses one based on the needs of the operation at hand.
  620.  
  621. For low-security jobs like message posting, MLM's usually just accept the
  622. "From:" line and cross their fingers.  If more security is needed (for
  623. example for a command that shuts down the server, or unsubscribes someone,
  624. etc.), there are four general ways an MLM can provide it.  1. lowest
  625. security, and most common: the MLM can send a message back to the "sender"
  626. confirming the command.  If the mail was forged, the confirmation will still
  627. go to the person on whose behalf the message was processed, and the command
  628. can be reversed (we hope).  2. higher security: a password can be required in
  629. the command message.  Majordomo requires this, for example, when processing
  630. list-owner commands -- in fact, Majordomo trusts *only* the password,
  631. accepting it in combination with any From: address.  3. A confirmation
  632. message with a magic cookie can be sent from the server, requiring a response
  633. with the same cookie before the command will be executed.  LISTSERV does this
  634. as an optional alternative to passwords, or, if set by the list owner, when
  635. someone first subscribes to a list (the idea is that the dialog between the
  636. server and the new subscriber proves that the mail connection works).
  637. 4. highest security, and I don't think anyone is doing this yet: encrypted
  638. signatures could be required on request mail.  People are currently working
  639. on integrating PGP signatures into Majordomo; it will be interesting to see
  640. how this works out.
  641.  
  642. ------------------------------
  643.  
  644. Subject: 2.07  Features and usability for users
  645.  
  646. MLM's are basically low-tech communication tools.  Sure, they can accomplish
  647. lofty goals, but one of the biggest reasons they get used is that e-mail is
  648. the closest thing to ubiquitous that we have on the Internet.  People who
  649. feel uncomfortable and intimidated with everything else, feel just fine using
  650. e-mail to write messages to their loved ones :-).
  651.  
  652. So, an MLM should make life EASY for users.  It should be tolerant of their
  653. mistakes, and of their mailers' mistakes (yes, many people aren't using
  654. perfect mail systems).  Its error messages, when necessary, should not only
  655. be friendly but should also suggest to the user what to do next.  It should
  656. be flexible enough to give users on different sorts of systems, with
  657. different sorts of reading styles, their list mail in the format they need.
  658. And while it should be simple as a telephone, for the computerphobes, it
  659. should also provide services to let more advanced users save time and take
  660. advantage of the information resources your lists will generate.
  661.  
  662. The first thing a user needs to do is to get commands to the server, usually
  663. by mail.  Well, some subscribers will have broken mailers.  Perhaps they
  664. won't be able to control their subject line, or every message they send will
  665. have a huge memo-like thing at the top of the message body with date and
  666. organization name, or the message body will always be indented, etc., etc.
  667. There is no end to the perverted mail gateways out there.  If you get one of
  668. these people trying to subscribe to your list, will your software be able to
  669. handle it?  Specifically: ListProc and Mailbase, in their default setups,
  670. stop reading a message upon the first error ...  thus people whose mailers
  671. include a fancy header in the body are out of luck; Majordomo stops reading
  672. commands at the first line that starts with at least two hyphens "--", thus
  673. people whose fancy headers include that line are out of luck.  To work around
  674. these problems: ListProc can be set to ignore errors (which has negative
  675. consequences, like causing mail *entirely* in error to be ignored entirely --
  676. but it does let the server read past these "stationery" headers).
  677. Majordomo's code can be hacked, if necessary, although the "--" is part of
  678. its loop detection system, and removing it opens up possibilities for some
  679. new problems.  I'm not sure what could be done with Mailbase, since it
  680. doesn't come with source.  To see an MLM gracefully handle bad mailers, look
  681. at LISTSERV: it reads up to 20 error lines before rejecting a message,
  682. usually enough to get past the fancy headers.  If 20 lines isn't enough, it
  683. also includes a specific command for saying "this is the start of the job,"
  684. before which everything will be ignored.  (Note that this simple command
  685. *completely* solves the problem.  Johan Vromans's excellent "Squirrel"
  686. archive server has a similar function -- but in most MLM's, only an "end
  687. processing" command is available. That's useful, but only half the solution.)
  688.  
  689. Of course, some users get lost a little earlier -- they can't figure out
  690. which address to send mail to :-).  But truly, it's not an easy decision.
  691. There is, to date, no standard address to which users should send commands:
  692. manually-maintained Unix lists typically use "listname" for the list, and
  693. "listname-request" for a human being who takes care of it; automated servers
  694. have all kept the "listname" address for the list, but use unique addresses
  695. for the server: LISTSERV uses "LISTSERV"; Majordomo uses "majordomo";
  696. ListProc uses "listproc"; Almanac uses "almanac"; etc.  Why should users have
  697. to know which server you're running?  Chances are it's just a name to them
  698. anyway.  So, there's been some move toward standardization of these
  699. addresses, but unfortunately it seems not to be getting better: SmartList
  700. takes its commands at "listname-request" (emulating the manual-list model),
  701. but has no "smartlist" address; LISTSERV has created a new, generic address
  702. at which it takes commands -- "listname-server" -- but has reserved
  703. "listname-request" for reaching the list owner directly; Majordomo and MX
  704. accept commands at a server address as well as "listname-request," but don't
  705. recognize "listname-server," and so on.  A standardized addressing system
  706. would be very useful, there's no doubt.  Everyone has their own opinion on
  707. what the best choice would be, and I have mine, but most of all I would like
  708. to see the MLMs' writers agree on *some* standard.  Just my opinion -- but it
  709. certainly would help the end users.
  710.  
  711. Ignorance is sometimes not an excuse, though: some users are just clueless.
  712. No matter how many reminder notes you send out, people send "subscribe,"
  713. "unsubscribe," etc. to the list address rather than to the server.  Your MLM
  714. should catch and bounce these bogus messages, rather than delivering them to
  715. the list -- this protects the sender from embarrassment, and the other
  716. members of the list from stupid mail.  Many MLM's do this (in TULP it's via
  717. an optionally-installed Perl script); some are better than others.  Majordomo
  718. has a kind of "hair-trigger" filter that results in many false positives,
  719. usually when the message has the word "help" in the first few lines, but it
  720. does manage to stop most administrative messages from reaching the list.  The
  721. bounces go to the list owner instead of to the sender, which can be a pain.
  722. ListProc, LISTSERV, and SmartList have aggressive and fairly selective
  723. filters that trap common commands and their misspellings in either the
  724. subject line or the message body.  Both ListProc and LISTSERV, by default,
  725. return the bounced message to its sender -- a blessing for the owner and
  726. instant feedback for the sender.  SmartList, by default, executes the command
  727. if it can decipher it.  (It can also be configured to return the mail to the
  728. sender, a choice that is yours to make.  While some say it's best to
  729. accomodate the users' foibles, others say that if users are accomodated when
  730. sending commands to the list, they will never learn not to -- and eventually
  731. they will send a command that won't be caught, annoying everyone.)
  732.  
  733. So the user has gotten mail to the server -- now the server needs to write
  734. back, both with responses to commands, and with list mail.  Do problems show
  735. up here?  You bet.  Of the many bad Internet mail gateways, one particularly
  736. bad specimen is associated with Microsoft Mail.  Because MS Mail only
  737. supports one "from" address, while RFC822/821-based mailers support at least
  738. two ("envelope sender" and "message sender", aka "From_" and "From:"), the MS
  739. Mail gateway simply throws one away as mail arrives.  The address Microsoft
  740. has chosen to keep is the "envelope from", to which delivery errors are
  741. normally sent, instead of the "message from," which is usually the address of
  742. the person who wrote the message.  The result is that Microsoft Mail people
  743. often reply to the delivery-errors mailbox on your MLM, not to the server or
  744. the message originator.  Quite annoying.  (Other e-mail systems do this too,
  745. I'm just using Microsoft Mail as an example.) One way to the fix this
  746. situation is to change the address your MLM puts into the "envelope from"
  747. line to point back to the list (a configuration many allow, though it
  748. violates RFC822). However, this removes one level of loop prevention -- in
  749. simpler MLM's, the only level -- so it may open you up to new and interesting
  750. mailing loops.  Another solution is to include the relevant information in
  751. the message *body*, where the MS Mail gateway can't wreck it.  That's the
  752. purpose, in LISTSERV, of the "dual headers" option ("SET listname DUAL" --
  753. see the paragraph on headers in the previous section) -- an ugly, but useful,
  754. workaround.
  755.  
  756. The point I'm making is that even a low-tech tool like e-mail isn't quite as
  757. universal as you might think -- there are some things to think about if you
  758. want to shoot for universal access.  Many people out there sit behind an
  759. Internet-unfriendly gateway, and you have to decide *before* you commit to an
  760. MLM whether you want to support those unfortunates.  If you know you'll be
  761. dealing only with good mailers, or you're willing to deal with the occasional
  762. problem by hand, you can do whatever you want.  But if your entire user base
  763. is on PROFS or Microsoft Mail, be careful and do a lot of testing.
  764.  
  765. OK, now the user is connected to your MLM both to send commands and to get
  766. feedback.  At this point, he or she needs to work with the MLM's command
  767. set. If your users are already used to a particular system -- say, Majordomo,
  768. LISTSERV, Mailbase, or manually-maintained "-request" lists -- you have a
  769. strong motive to use the same system or one that emulates its command set.
  770. For example, TULP is made to emulate LISTSERV, and while it has a more
  771. limited feature set, what it does do acts much the same.  ListProc similarly
  772. originated as a "Unix LISTSERV," but it has diverged over the years; it now
  773. has a command set that feels "comfortable but different" to LISTSERV users.
  774. If your users are used to manually-maintained lists, you probably should
  775. consider SmartList, which does the best job of adapting to the habits they
  776. will have developed.
  777.  
  778. Try to put yourself in the user's shoes: how easy is the system to use,
  779. overall?  A selfish motive for asking this question is that an easier system
  780. may mean fewer questions for you.  Are error messages clear?  How about user
  781. and list-owner documentation?  For example, ListProc 6.0c's documentation and
  782. help files are famously bad (though the CREN version's is much better; they
  783. are taking some care with it).  On the other hand, LISTSERV and Mailbase are
  784. known for command structures and error reports that are comprehensible to
  785. novices.  Talk to people who already use the system you plan to install.
  786.  
  787. ONLY when you have people CONNECTED TO and COMFORTABLE WITH your system does
  788. it matter whether it has feature X or feature Y.  That said :-), here are
  789. some specific features your users may find useful:
  790.  
  791. * mailing methods other than separated messages (digest, index, no-mail).
  792.  
  793. Digests can be useful for very active lists when subscribers would rather get
  794. one message summarizing the day's (or the week's) activity, either because
  795. they don't want lots of messages cluttering their mailbox or because they pay
  796. by the message; indexes are a LISTSERV extension of this idea, where only
  797. information about the day's subjects and authors is sent, along with
  798. information on how to retrieve the messages from the archives.  Majordomo
  799. handles digesting with an optionally-installed digest script, and it treats
  800. the digest as a separate list that users can subscribe to (possibly in
  801. addition to the regular list); SmartList's digesting works with separate
  802. lists, much the same as Majordomo's, except that no additional script needs
  803. to be installed; LISTSERV and ListProc do digesting "out of the box" as an
  804. option each user can set as he or she chooses (i.e. "SET listname DIGEST").
  805.  
  806. * archive delivery and search features (GET, etc.).
  807.  
  808. Just about every package includes simple "get" and "file index" facilities.
  809. Some go beyond that: Majordomo can be linked to an ftp-by-mail server, which
  810. can then get quite sophisticated.  ListProc, in addition to basic GET, does
  811. automatic splitting and uuencoding of large files.  LISTSERV supports those
  812. formats plus several others, at the user's request.  SmartList, if Metamail
  813. is installed on your system, will use it to provide full and automatic MIME
  814. support, including uuencoding and base64 coding. To be honest, though, these
  815. systems really don't differ much on basic file delivery: all do the job, but
  816. none is a meant as an archive server.  If archive service is what you need,
  817. you should read Piero Serini's "Archive Server FAQ", at
  818. <ftp://ftp.uu.net/usenet/news.answers/mail/archive-servers/faq>.
  819.  
  820. LISTSERV and CREN ListProc offer a "file subscription" service, where users
  821. can elect to be told when a particular file changes, and optionally to have
  822. it delivered at that time.
  823.  
  824. One sophisticated feature that truly *can* be of great use to your list's
  825. subscribers is archive searching, available in ListProc, LISTSERV, SmartList,
  826. and (in a limited form) Smof.  The idea is, someone reading your list of
  827. policy announcements knows that in 1991 there was a message about "eating
  828. papayas on the job," and they want to find it.  Rather than retrieving all
  829. the archives for that year, they ask the MLM to search them for the word
  830. "papaya."  In ListProc the command is "search policy 'papaya'", where
  831. "policy" is the name of the list.  ListProc then returns a simple "grep" of
  832. its archive, giving you the lines that matched your pattern along with the
  833. file names they're from.  With SmartList, you'd send mail to "policy-request"
  834. with a subject or message body of "archive search papaya", "archive find
  835. papaya", or a few other synonyms.  SmartList returns the matching filenames,
  836. line numbers, and total lines, up to some list-owner specified limit (to
  837. protect users from searches that retrieve enormous amounts of information).
  838. Smof lets you use standard "dir" and "get" commands with a parameter
  839. indicating "search header field X for word Y," so it's less flexible than the
  840. others (though still useful).  In LISTSERV, finally, the command message is
  841. very complicated, and I won't even show it here: most people keep a search
  842. template in their inbox, editing it whenever they need to do a search (quite
  843. a change from the simplicity of most LISTSERV commands).  There is some
  844. return on its complexity: LISTSERV's output can be individual messages, an
  845. index, or just about anything else you'd expect from a full-text database.
  846. It even does fuzzy matching ("sounds like").  But ah, it surely is complex.
  847.  
  848. * access through methods other than e-mail.
  849.  
  850. Putting message archives up for ftp access is trivial. ListProc also offers
  851. an "Interactive ListProcessor" client for telnet-like connections to the
  852. server; CREN is working on enhancing this with Mac, Windows, and X clients.
  853. LISTSERV, in its VM version, has a Gopher interface to its archives.
  854. Mailbase has both Gopher and native WWW interfaces.  Various people have
  855. written hacks to interface practically every other package (including
  856. ListProc) to Gopher and WWW.
  857.  
  858. One available package that stands out for its power and ease isn't even
  859. produced by the writers of an MLM.  Logika's "InfoMagnet" (for Windows and
  860. OS/2: get it at <ftp://ftp.clark.net/pub/magnet/wimag.exe>) works only with
  861. LISTSERV lists, but in that range it lets you, in a pretty Windows interface,
  862. search for interesting lists, subscribe to them, change your subscription
  863. options, and search the list archives -- all without ever sending a single
  864. LISTSERV command (that is, InfoMagnet sends them for you).  It even lets you
  865. set up "magazines" for individuals or organizations, for which it runs daily
  866. searches and has LISTSERV mail to you only the "interesting" messages.  Nice.
  867.  
  868. ------------------------------
  869.  
  870. Subject: 2.08  Loop detection and elimination
  871.  
  872. One of the worst things that can happen to your list is to have a mailing
  873. loop develop.  Especially when they involve big lists, loops are a huge waste
  874. of time and also terribly embarrassing for you as an administrator.  By
  875. definition, they happen when two servers start sending mail to each other,
  876. neither realizing the other is a machine, and while that's bad enough, when
  877. it's on a mailing list a whole bunch of "innocents" get to listen in on the
  878. exchange.  The most typical offenders in mailing loops are mail-to-news
  879. gateways, mail hosts that send error messages helter skelter, vacation
  880. programs that reply "I'm away" to *everything* that arrives, and other MLM's.
  881.  
  882. If everything is set up "right," mailing loops never should happen.  "Right"
  883. means that the headers of list mail are generated correctly (precedence
  884. "bulk", for example, stops many vacation programs from replying), that the
  885. errors-to address for list mail points somewhere besides the list submission
  886. address, and several other points that are better covered elsewhere.  No
  887. matter how well *your* MLM sets things up, though, some misconfigured system
  888. elsewhere can always return mail to you in a way that provokes a loop.  In
  889. this situation, detecting and stopping the loop *immediately* is paramount.
  890.  
  891. Mail-to-news gateways and linked mailing lists are a special case in terms of
  892. the looping problems they generate.  The concept isn't difficult, but
  893. gateways open up whole new possibilities for bad days -- you can get systems
  894. that don't respond with the correct error messages, or local mail-to-news
  895. gateways whose territories overlap, or two systems each stripping the markers
  896. the other had put in for loop detection, or, or, or ...  If you plan to gate
  897. your mailing list to USENET, look *very hard* at the facilities each MLM
  898. offers for detecting and eliminating mailing loops.  ListProc and LISTSERV
  899. are currently the best at this function, and SmartList offers good facilities
  900. as well; it could be added to any of the source-provided packages, and you'd
  901. be doing us all a service :-).
  902.  
  903. The basic strategy used by both ListProc and LISTSERV is to maintain a cache
  904. of recent messages they've delivered (say, the past several hundred or
  905. thousand messages), in which they store both the Message-ID field and a
  906. checksum created from the message body excluding white space.  They then will
  907. refuse later messages that generate the same checksum or have the same
  908. Message-ID header.  SmartList also runs a cache, but keeps in it only the
  909. Message-ID header.  (A ListProc FAQ which I will briefly answer here is:
  910. ListProc 6.0c calculates its checksums using the Unix "sum" program, which
  911. often results in non-unique numbers, and thus false positives on the test.  A
  912. patch is available for the server so that it uses the much more effective MD5
  913. checksum system, and you should apply that patch if you use ListProc 6.0c.)
  914. All three MLM's add headers of their own to each message, then check for such
  915. headers when a new message arrives (if they're found, that's good evidence of
  916. a loop).  They also check subject lines and senders to avoid common goofs:
  917. i.e.  they refuse postings from any user named "listproc" or "listserv"
  918. because that's almost certainly a server, and they also recognize that
  919. subject lines starting with "Delivery delayed:" are worth suspicion.
  920. ListProc and LISTSERV go a few steps farther, scanning the message body for
  921. common signs of re-posting (a second From: or Message-ID: line, for example),
  922. and doing other tricks the authors consider proprietary and won't reveal :-)
  923.  
  924. When a duplicate message is found, ListProc and SmartList forward it to the
  925. list owner.  CREN ListProc, as it does so, also calculates a checksum on the
  926. error report it's forwarding (excluding the attached message text, if any),
  927. so that if the list owner's MTA bounces the message a secondary loop can be
  928. avoided.  LISTSERV returns the duplicate to the sender, with a note on why
  929. it's being returned and how to change the text if it is in fact legitimate.
  930. With LISTSERV's strategy, which was designed for the list owner's
  931. convenience, new loops can (and do) develop between it and other servers.
  932. However, they're invisible to the list and they're always limited: LISTSERV
  933. "serves off" (ignores) any address that generates ten error mails in a row,
  934. thus breaking the loop on its tenth iteration.
  935.  
  936. When all other strategies fail, the final damage-control step in both
  937. ListProc and LISTSERV is to count and limit the messages that can be
  938. distributed per list, per day.  Most list owners set the limit around 50 on
  939. LISTSERV, so 50's the maximum number of bogus messages that can go out to
  940. your list (!).  If you get a bad loop, and they are rare, the *final* step
  941. for you to take is: post a copy of the loop's result to the relevant MLM's
  942. support list, with a message saying "what happened?"  You will either find
  943. out that there is something you can do to avoid the loop in the future, or
  944. you will see that the next version of the software has been enhanced to
  945. detect it :-) With ListProc, if the problem was that the server didn't
  946. recognize a mailer address or returned-message subject, you can also edit its
  947. configuration file to add items to the list of checks, thus protecting
  948. yourself until the new and improved version arrives.
  949.  
  950. ------------------------------
  951.  
  952. Subject: 3.00  MLM's in general
  953.  
  954. MLM's in general are discussed on list-managers@greatcircle.com; to
  955. subscribe, write "sub list-managers YourAddress" in the body of a message to
  956. majordomo@greatcircle.com.
  957.  
  958. On USENET, comp.mail.list-admin.software and its sibling c.m.l.policy will
  959. probably interest you.  Both get fairly low traffic and, for USENET at least,
  960. fairly low noise.  You will also probably enjoy comp.mail.misc and, if your
  961. system uses sendmail, comp.mail.sendmail.
  962.  
  963. MLM functions overlap with those of archive servers, though no single package
  964. is really excellent at both jobs.  If archive service is a large part of your
  965. needs, you should also read Piero Serini's "Mail Archive Server Software
  966. List," at <ftp://ftp.uu.net/usenet/news.answers/mail/archive-servers/faq>.
  967.  
  968. ------------------------------
  969.  
  970. Subject: 3.01  Almanac [v. 1.5.1b]
  971. Date: 17 Oct 94
  972.  
  973. [More information is needed about Almanac.  Please write me if you're
  974. knowledgeable.]
  975.  
  976. Source code is available at <ftp://ftp.oes.orst.edu/pub/>
  977.  
  978. To subscribe to the Almanac discussion list, write "subscribe alm-core-mg" in
  979. the body of a message to almanac@oes.orst.edu.
  980.  
  981. ------------------------------
  982.  
  983. Subject: 3.02  BMW [v. 5.0]
  984. Date: 28 Nov 94
  985.  
  986. The Black Marble Wombat is a simple MLM written in Perl.  It was developed
  987. by Clay Luther of Monsta Incorporated <bmw@gojira.monsta.com> to run some
  988. lists on gaming.  The software is available free under the GNU license.
  989.  
  990. Unusually, digests are requested through a separate subscribe command (called
  991. DIGEST, logically enough).  Subscribing to a list digest simultaneously
  992. unsubscribes a user from the regular list; to unsubscribe once he or she is
  993. on the digest list, the user uses the UNDIGEST command.  BMW optionally
  994. archives messages on a monthly basis.  Beyond that, BMW is pretty minimalist:
  995. available user features are automatic subscription and unsubscription,
  996. archive sending and listing, and list review.
  997.  
  998. Pick BMW up at <ftp://gojira.monsta.com/pub/src/>.
  999.  
  1000. ------------------------------
  1001.  
  1002. Subject: 3.03  IDG
  1003. Date: 21 Jan 95
  1004.  
  1005. IDG stands for "Internet Discussion Group," a package written to support a
  1006. discussion list for the California Department of Transportation.  Its most
  1007. outstanding feature is that it requires only a single address, so that it can
  1008. run from a single, "normal" account.  IDG commands are sent in the subject
  1009. line of a message; if the system decides any given message is not a command,
  1010. it forwards it to the list.  This can be seen as an advantage, in that list
  1011. subscribers need remember only a single address; it also can be seen as a
  1012. disadvantage in that many subscribers are going to mis-form or mis-spell
  1013. their commands, thus causing IDG to send bogus messages to the list.
  1014.  
  1015. IDG is feature-rich, though probably not suitable for large lists.  Besides
  1016. "subscribe" and "unsubscribe," it supports "get," "put," and "rm" by general
  1017. users (maintaining knowledge of which subscriber "owns" each file, for
  1018. purposes of allowing and disallowing its deletion or change -- though IDG's
  1019. subscriber authentication is pretty low security), as well as "grep" for
  1020. searching the database of files.  It offers daily-digest-format delivery.  It
  1021. also supports two functions that, to my knowledge, are unique among MLM's.
  1022. With "filter" (similar to the LISTSERV "set topics" command, but more general
  1023. purpose), each subscriber can define a list of keywords which IDG will then
  1024. use to determine which messages should be forwarded to him or her -- that is,
  1025. if one of the subscriber's "filter" keywords is found in a new message's
  1026. header or body, IDG will send it to that subscriber; if it isn't, IDG won't.
  1027. (This function, while probably very useful, would be a resource hog on big
  1028. lists: it requires greping each message once for every subscriber who has a
  1029. filter set.)  IDG also offers a simple, built-in vote management function:
  1030. once the list administrator initializes a voting session, subscribers use the
  1031. "vote" command to cast their ballots "yes" or "no."  IDG tallies the votes as
  1032. it receives them, returning to each voter the status of the vote to date.
  1033.  
  1034. To try out IDG, send mail to <dot%t3ew@dot.ca.gov> with a subject line of
  1035. "help".  To get a copy of the software itself, send mail to
  1036. <ftpmail%t3ew@dot.ca.gov> with no subject and a message body of:
  1037.   connect
  1038.   get software/internet/idg
  1039.   quit 
  1040. If you have specific questions, you may want to write directly to IDG's
  1041. author, Don Stone <dstone%trmx2@dot.ca.gov>.
  1042.  
  1043. ------------------------------
  1044.  
  1045. Subject: 3.04  ListProc, free version [v. 6.0c]
  1046. Date: 17 Oct 94
  1047.  
  1048. Source code is at <ftp://cs-ftp.bu.edu/pub/listserv/current_version.Z>
  1049.  
  1050. This is the final no-charge version of ListProc.  It will not be enhanced
  1051. except for bug fixes.  Read the section above on "Do you need to modify the
  1052. MLM's source code?"  for notes on restrictions associated with this package.
  1053.  
  1054. Some background relating to ListProc's name: you may see references to this
  1055. product as "Unix Listserv."  Be careful, and try to clarify if the "listserv"
  1056. in question is the Eric Thomas/"BITNET" version, or really ListProc.  When
  1057. Anastasios Kotsikonas ("Tasos") first wrote ListProc at Boston U., it was
  1058. called "Unix LISTSERV," and it included a note in the documentation that some
  1059. read to mean it was related to the Eric Thomas software.  This made Eric mad,
  1060. and he complained for years that these "Unix Listserv" users thought he
  1061. sanctioned the software or that it was a port of his VM/CMS LISTSERV.  When
  1062. he formed L-Soft and took LISTSERV commercial, lost sales became part of the
  1063. issue.  The situation finally escalated to the point where, voila! ListProc
  1064. was born :-).  ListProc versions below 6.0c *were* called "Unix LISTSERV" or
  1065. "Unix Listserver," but they're still ListProc, and you should call them
  1066. ListProc.  It's less confusing that way.
  1067.  
  1068. To discuss ListProc 6.0c, subscribe to unix-listproc@avs.com by writing "sub
  1069. unix-listproc Your Name" in the body of a message to listproc@avs.com.  This
  1070. is also ListProc 6.0c's technical-support list; most support is provided by
  1071. users, although Tasos also reads the list regularly and sometimes comments.
  1072.  
  1073. ------------------------------
  1074.  
  1075. Subject: 3.05  CREN ListProc [v. 7.1]
  1076. Date: 20 Nov 94
  1077.  
  1078. CREN, the Corporation for Research and Educational Networking, has purchased
  1079. the rights to ListProc and now sells it commercially.  In this document I
  1080. call the product "CREN ListProc," though they don't -- if you prefer, read
  1081. every reference to "CREN ListProc" as "ListProc 7.0 and up."
  1082.  
  1083. You can't ftp an evaluation copy of CREN ListProc, but CREN is willing to
  1084. make arrangements for trial use; write to them at the sales address below.
  1085.  
  1086. Supported platforms: ListProc 7.1 runs on AIX, HP-UX 9, Irix 5, OSF/2,
  1087. Solaris, SunOS, and Ultrix.  "Windows NT is planned for the future" (personal
  1088. correspondence from tasos@avs.com).
  1089.  
  1090. For sales information, write to listproc-info@listproc.net.  You can also
  1091. browse through <gopher://info.cren.net/> or <ftp://info.cren.net/>.
  1092.  
  1093. To discuss CREN ListProc, subscribe to cren-list@cren.org by writing "sub
  1094. cren-list <Your Name>" in the body of a message to listproc@cren.org.  This
  1095. is not a technical-support list.
  1096.  
  1097. ------------------------------
  1098.  
  1099. Subject: 3.06  LISTSERV [v. 1.8a]
  1100. Date: 20 Nov 94
  1101.  
  1102. [1/17/94: version 1.8b is in beta test and will be released soon.  It
  1103. includes several features LISTSERV users have wanted for a while, as well as
  1104. one that will be relevant more and more in the future: a spam control
  1105. function, in which LISTSERV's core servers will exchange information on
  1106. potential spams and automatically take action to limit their spread.  I will
  1107. cover this more in a future version of the FAQ.]
  1108.  
  1109. LISTSERV is sometimes called "BITNET LISTSERV," but it's not just for BITNET
  1110. any more!  As of version 1.8a, it's a commercial product sold by L-Soft
  1111. International, a company started by LISTSERV's author Eric Thomas
  1112. (ERIC@LSOFT.COM).  It is probably the fullest-featured of the MLM's; it also
  1113. is one of the easiest to configure remotely.  However, it's not free :-).
  1114.  
  1115. Evaluation kits are at <ftp://ftp.spc.edu/listserv/>.  They are fully
  1116. functional except that they support a limited number of lists and
  1117. subscribers, and include an "evaluation system" message in all outgoing mail.
  1118.  
  1119. Supported platforms: LISTSERV is available for AIX, BSDi, HP-UX, Irix, Linux,
  1120. OSF/1, Solaris, SunOS, and Ultrix, as well as VMS, VM/CMS, and Windows NT.
  1121.  
  1122. To find out the basics about using LISTSERV, write "HELP" in the body of a
  1123. message to LISTSERV@LISTSERV.NET.  To get more in-depth information, send it
  1124. the command "INFO" for a listing of informational files, and then "GET" the
  1125. files that sound interesting to you.  Release notes for the past few years'
  1126. worth of LISTSERV can be retrieved from LISTSERV@searn.sunet.se by sending it
  1127. "GET LINFO FILELIST" in the body of a message ("LINFO" being L-Soft Info).
  1128.  
  1129. For sales information, send mail to SALES@LSOFT.COM.
  1130.  
  1131. To discuss LISTSERV with sysadmins, subscribe to LSTSRV-L by writing "sub
  1132. LSTSRV-L Your Name" in the body of a message to LISTSERV@uga.cc.uga.edu.  You
  1133. may also be interested in LSTOWN-L, for owners of LISTSERV lists --
  1134. discussion here will give you a feel for what it's like to remotely
  1135. administer a LISTSERV list.  Subscribe by writing "sub LSTOWN-L Your Name" to
  1136. LISTSERV@searn.sunet.se.  You can browse through back issues of either of
  1137. these lists at <gopher://searn.sunet.se/>.  (Note: LISTSERV systems
  1138. participate in a global directory of lists, so commands and postings for
  1139. these lists and all other public LISTSERV lists can also be sent to
  1140. LISTSERV@LISTSERV.NET, for commands, or <listname>@LISTSERV.NET, for
  1141. postings.  This shortcut doesn't apply to getting files, though, because file
  1142. names don't imply a server site.)
  1143.  
  1144. ------------------------------
  1145.  
  1146. Subject: 3.07  Mailbase
  1147. Date: 17 Oct 94
  1148.  
  1149. Mailbase is funded by the Joint Information Services Committee of the Higher
  1150. Education Funding Councils for England, Scotland, and Wales.  Its services
  1151. are very popular in the U.K., and the program itself provides many useful
  1152. features, friendly command syntax and user messages, and good efficiency.
  1153.  
  1154. Source code is not available.  However, the binaries can be licensed at no
  1155. charge; write to mailbase-helpline@mailbase.ac.uk.
  1156.  
  1157. To find out the basics of using Mailbase, write "send mailbase user-guide" in
  1158. the body of a message to mailbase@mailbase.ac.uk.  Or, take a look through
  1159. <http://www.mailbase.ac.uk/> or <gopher://gopher.mailbase.ac.uk/> ... lots of
  1160. Mailbase documentation is available there, as well as searching facilities
  1161. for Mailbase lists and archives.
  1162.  
  1163. Supported platforms: Mailbase is available for SunOS 4.1.1 and 4.1.3 on Sun
  1164. 4/4m/4c's, and for Solaris 2.3.  For Mailbase to run, your system must also
  1165. have two other packages installed: Ingres 6.3 (or later) and Perl.  To save
  1166. the Mailbase developers' sanity, you should have some understanding of
  1167. Ingres, Unix, and Mailbase itself (as a list owner/member) before you attempt
  1168. to install Mailbase.
  1169.  
  1170. ------------------------------
  1171.  
  1172. Subject: 3.08  MAISER (part of the Mercury Mail Transport System) [v. 1.13]
  1173. Date: 22 Nov 94
  1174.  
  1175. [1/17/94: version 1.20 of Mercury has been released, including a new version
  1176. of MAISER.  According to its author, notable new features in MAISER 1.20
  1177. include MIME-format digests, message archiving, and full anonymous mailing.]
  1178.  
  1179. David Harris, who writes Pegasus Mail, the great DOS/Windows/Mac mail system,
  1180. also writes the Mercury MTA for NetWare servers.  Mercury includes a simple
  1181. but functional MLM, "MAISER."  MAISER supports subscribe, unsubscribe, and
  1182. review commands for lists (which can be moderated or not, closed or not, with
  1183. posting restricted to list members or not), as well as file-archive index and
  1184. get commands.  It also supports a finger command to help track down users on
  1185. the server's Pegasus Mail system.  MAISER is *not* meant to be a high-end
  1186. system, but if you want to run a small MLM and already have a NetWare server
  1187. on the Internet, you may like it.
  1188.  
  1189. Both Pegasus and Mercury are free software, but they are distributed as
  1190. executables only.  David makes his money selling manuals, though decent
  1191. on-line documentation is included with everything he distributes.
  1192.  
  1193. Get Pegasus and Mercury at <ftp://risc.ua.edu/pub/network/pegasus/>.
  1194.  
  1195. The discussion list for both packages is PMAIL@UA1VM.UA.EDU; subscribe by
  1196. sending "subscribe PMAIL Your Name" in the body of a message to
  1197. LISTSERV@UA1VM.UA.EDU.
  1198.  
  1199. ------------------------------
  1200.  
  1201. Subject: 3.09  Majordomo [v. 1.92]
  1202. Date: 20 Nov 94
  1203.  
  1204. [1/17/94: version 1.93 has been released.  It includes a few bug fixes
  1205. including one of a race condition that allowed any user of the system on
  1206. which Majordomo was installed to replace any Majordomo-owned file; it also
  1207. has some updates to functions like its administrative-message detection.  I
  1208. haven't tried the new version, but will update the FAQ later to cover it.]
  1209.  
  1210. Majordomo is probably the fastest-growing package out there, certainly in
  1211. terms of the number of sites installing it.  Why?  Aside from the general
  1212. explosion in mailing lists, Majordomo has the advantages of being free, of a
  1213. manageable size and complexity, and written in a language (Perl) that many
  1214. feel comfortable with.  Development is active, and it's likely that whatever
  1215. gadget you want for it, someone is in the process of writing.  However,
  1216. Majordomo has some real performance problems if you're going to run a very
  1217. busy MLM (meaning dozens of messages a day, or thousands of subscribers), so
  1218. be warned.  (Future versions will address these problems, it is said.)
  1219.  
  1220. Source code is at <ftp://ftp.greatcircle.com/pub/majordomo/majordomo.tar.Z>.
  1221. You will need a recent version of Perl 4.0 on your system.  Out of the box,
  1222. Majordomo assumes you're using Sendmail, but people have made it work with
  1223. all sorts of MTA's.
  1224.  
  1225. Discuss Majordomo with other users on majordomo-users@greatcircle.com -- to
  1226. subscribe, send "subscribe majordomo-users" in the body of a message to
  1227. majordomo@greatcircle.com.
  1228.  
  1229. David Barr <barr@pop.psu.edu> maintains the Majordomo FAQ.  Get it from his
  1230. Majordomo site by sending "get file majordomo-faq" to majordomo@pop.psu.edu,
  1231. from comp.mail.misc or news.answers, or from any news.answers archive, for
  1232. example <ftp://ftp.uu.net/usenet/news.answers/mail/majordomo-faq>.
  1233.  
  1234. ------------------------------
  1235.  
  1236. Subject: 3.10  MReply [v. 1.71]
  1237. Date: 28 Nov 94
  1238.  
  1239. MReply is an interesting little package, sort of a construction kit for
  1240. MLM's.  Some of its big advantages are that it requires no root access to be
  1241. set up (though you would like to have new aliases set up, and that has to
  1242. involve your system's mail administrator), and that it allows almost total
  1243. flexibility in how the lists are run.  This second feature could also act as
  1244. a *dis*advantage, if you make some change to an MReply script that causes
  1245. mail to bounce oddly, for example.  You shouldn't have to change much,
  1246. though; MReply comes with sample scripts that probably are enough to get you
  1247. started.  (These samples are endearing in that they open every reply from the
  1248. server with "Hi, Norm" -- at least if your name is Norm, and mine is :-) )
  1249.  
  1250. MReply includes the standard subscribe, unsubscribe, get, and archive index
  1251. features, as well as automatic uuencoding, shar'ing, and splitting of
  1252. outgoing files and the ability to apply uudecode to incoming files.  It tries
  1253. to filter administrative requests from distribution to the mailing list, and
  1254. it also includes simple mail-loop detection and blocking.  Finally, it lets
  1255. you define your own commands if you choose (makes sense, since the sample
  1256. configuration files you start with are what define the "standard" commands in
  1257. the first place).
  1258.  
  1259. MReply is written by Tor Slettnes <tor@netcom.com>; its source can be
  1260. retrieved from <ftp://ftp.netcom.com/pub/to/tor/mreply/>.
  1261.  
  1262. You can subscribe to the MReply users list by sending "subscribe mreply-list"
  1263. in the body of a message to mreply-request@netcom.com.  For more information
  1264. on using MReply, send "help" in the body of a message to the same address.
  1265.  
  1266. ------------------------------
  1267.  
  1268. Subject: 3.11  MXSERV (MX/MLF, part of the Message Exchange system) [v. 4.1]
  1269. Date: 28 Nov 94
  1270.  
  1271. MX (for "Message Exchange") is a free mail system for VMS, designed to work
  1272. with VMS Mail.  Its architecture is that of a central "router" surrounded by
  1273. independent delivery agents -- one for UUCP, one for SMTP, one for DECNET,
  1274. etc.  One delivery agent you can choose to install is MLF, the "Mailing
  1275. List/File Server" package, giving you free MLM capabilities under VMS.  (MX
  1276. also includes hooks to LISTSERV, if you choose to use that system instead.)
  1277.  
  1278. MX runs on OpenVMS VAX (VAX/VMS) versions 5.0 and up, and on all versions of
  1279. OpenVMS AXP.  To act as an Internet MTA, MX requires prior installation of
  1280. one of several vendors' TCP/IP packages.
  1281.  
  1282. The mailing-list portion of MX/MLF is usually reached at the address MXSERV
  1283. or MXSERVER, but is also reachable at "listname-request."  It supports basic
  1284. user commands including subscribe, unsubscribe, review, help, and "query"
  1285. (i.e. "which lists am I on"), as well as a "set" command by which users can
  1286. control whether they are sent copies of their own postings and whether they
  1287. are listed in a review of subscribers.  The file server portion, usually
  1288. reached at the address FILESERV, supports directory and get commands as well
  1289. as an "address" directive to redirect output to another user.  From the
  1290. administrator's perspective, MX/MLF supports open and closed subscription,
  1291. reviewable and and private subscription lists, and open as well as
  1292. owner-moderated posting, all configured through the same interface used to
  1293. set up the rest of MX's functions.
  1294.  
  1295. Get MX at <ftp.spc.edu://pub/mx/>.  Its user discussion list is
  1296. MX-List@WKUVX1.BITNET; subscribe by sending "subscribe" in the body of a
  1297. message to MX-List-Request@WKUVX1.BITNET.
  1298.  
  1299. ------------------------------
  1300.  
  1301. Subject: 3.12  SmartList [v. 3.10]
  1302. Date: 28 Nov 94
  1303.  
  1304. Depending in large part on the intelligence of the (wonderful) Procmail local
  1305. delivery agent for Unix, SmartList is a surprisingly small package that does
  1306. many nice and unique things.  It also does those things in a unique way, with
  1307. a unique user interface -- specifically, from the user's perspective it looks
  1308. more like a manually-maintained list (the kind with a human being at
  1309. "listname-request"), than it does like the "machine at a server" model of
  1310. most packages, as pioneered by LISTSERV.  SmartList is specifically designed
  1311. to do what users expect without imposing any particular syntax on them.  It
  1312. imposes no strict format on subscribe and unsubscribe messages, accepting all
  1313. common formats including commands in the Subject line and most requests in
  1314. "plain English."  It also does fuzzy matching on addresses (as described in
  1315. the "user features" section), which can be important in processing
  1316. unsubscribe requests and bounces.
  1317.  
  1318. Administration of SmartList lists is easiest for users who have accounts on
  1319. the server system.  Limited administration can also be done by mail; however,
  1320. commands are sent in the message *header*, instead of the body, which limits
  1321. the MUA's a remote administrator can use (most PC packages are right out).
  1322.  
  1323. Beyond the "philosophy" issues described above, which can be either an
  1324. advantage or a disadvantage depending on your biases, SmartList offers these
  1325. advantages: it imposes a low load on your system yet offers high performance
  1326. in delivery, thus it is suited to run fairly large lists; it handles bounced
  1327. mail better than any other package; and it probably already runs on your Unix
  1328. system.  Its primary disadvantage, for some sites anyway (again excluding
  1329. philosophy issues) is that users don't get a unified view of the lists on
  1330. your server: each "-request" address stands alone.
  1331.  
  1332. Stephen R. van den Berg ("AKA BuGless"), who writes both Procmail and
  1333. SmartList, provides quick and friendly support on their discussion lists.
  1334.  
  1335. To run SmartList, you also need Procmail.  Get the sources for both at:
  1336. <ftp://ftp.informatik.rwth-aachen.de/pub/packages/Procmail/Procmail.tar.gz>
  1337. and
  1338. <ftp://ftp.informatik.rwth-aachen.de/pub/packages/Procmail/SmartList.tar.gz>
  1339.    (replace ".gz" with ".Z" if you don't have the GNU gzip package)
  1340.  
  1341. Discussion lists: subscribe to Procmail@informatik.rwth-aachen.de and/or
  1342. SmartList@informatik.rwth-aachen.de by writing a subscribe message (any
  1343. format, even plain English) to Procmail-request@informatik.rwth-aachen.de
  1344. or SmartList-request@informatik.rwth-aachen.de, as appropriate.
  1345.  
  1346. ------------------------------
  1347.  
  1348. Subject: 3.13  Smof Listserver for DOS/KA9Q. [v. 05l]
  1349. Date: 24 Nov 94
  1350.  
  1351. Tim Illingworth has fit a surprising number of features into this package,
  1352. which is still in beta test: besides the standard subscribe and unsubscribe
  1353. commands, it also supports moderated lists, digests, and "get" and "index"
  1354. file server functions with limited searching abilities.  There is no support
  1355. for detecting mailing loops or administrative messages sent to the list.  The
  1356. package runs on DOS, a plus if you don't want to learn a new OS -- though
  1357. setting up KA9Q may be a rude shock if you're new to it.  There are some very
  1358. rough spots due to its dependence on DOS and KA9Q -- for example, in this
  1359. version, subscribe and unsubscribe commands cause the program to exit KA9Q
  1360. (closing down all network services), run an alias-updater from DOS, and then
  1361. return to KA9Q.  This is a consequence of Smof's design for a dial-up,
  1362. pay-by-the-minute IP environment.
  1363.  
  1364. Because the package is still in beta test, Tim is distributing it for free.
  1365. He writes that when he is satisfied with it, he will release it as shareware,
  1366. probably for US$30.
  1367.  
  1368. Get the latest version at <ftp://ftp.demon.co.uk/pub/ibmpc/listutils/>.
  1369.  
  1370. ------------------------------
  1371.  
  1372. Subject: 3.14  TULP [v. 4.0.0]
  1373. Date: 28 Nov 94
  1374.  
  1375. TULP, like ListProc, started life when LISTSERV ran only under VM/CMS, as a
  1376. program for people who wanted a LISTSERV feel on a Unix box.  Unlike
  1377. ListProc, however, TULP has stayed extremely true to the LISTSERV syntax, at
  1378. least for the minimal feature set it supports -- it has also, surprisingly,
  1379. remained very simple.  In terms of the "philosophy dichotomy," TULP quietly
  1380. thinks "small is beautiful" (it actually stays closer to this philosophy than
  1381. any of the other packages), but it emulates a program that shouts: "BIG is
  1382. beautiful!"  The result, to someone used to LISTSERV, is sort of strange.
  1383. While TULP is reliable and useful, it feels schizophrenic, or perhaps like a
  1384. tease ...  its *commands* look like LISTSERV's, its *output* looks like
  1385. LISTSERV's, and it typically answers at the listserv user id, but it doesn't
  1386. execute any but the simplest requests -- there's no digest facility, no
  1387. alternate headers, no database searching, minimal loop detection, and no
  1388. global directory.  Many people never use a command beyond the basics, though,
  1389. and for them TULP will feel comfortably like LISTSERV.
  1390.  
  1391. For administrators, TULP retains a LISTSERV feel, with its configuration file
  1392. taking a subset of LISTSERV keywords.  However, the file must be edited
  1393. locally; remote administration is limited to the addition and removal of
  1394. subscriber addresses and the approval of messages for moderated lists (using
  1395. an "Approved:" header).
  1396.  
  1397. TULP has two advantages over the other simple programs: first, most of its
  1398. messages are centralized into one file, making it less difficult to write
  1399. translations for other languages (French is already available).  Second, it
  1400. runs as a daemon, so that the maximum overhead it imposes on the system is
  1401. fairly low.  Note however that if you use TULP's Perl "deliver" routine,
  1402. which is necessary to filter administrative messages from your mailing lists,
  1403. you will have a (short) invocation of Perl for every message that arrives.
  1404.  
  1405. TULP's author writes: "No other features are planned for this package.  The
  1406. author [plans] to develop a new freely available product named 'ML' which
  1407. will be as simple as TULP [in its] installation and management, but which
  1408. should add better management features.  Development has not yet started and
  1409. is not decided."  (wolf@pasteur.fr to naleks@library.ummed.edu, 25 Nov 94)
  1410.  
  1411. Source code is available at
  1412. <ftp://ftp.univ-lyon1.fr/pub/systems/unix/mail/list-servers/tulp/>
  1413.  
  1414. To discuss TULP, subscribe to listnix@grasp.insa-lyon.fr by writing "sub
  1415. listnix Your Name" in the body of a message to listserv@grasp.insa-lyon.fr.
  1416.  
  1417. ------------------------------
  1418.  
  1419. Subject: 4.00  Where to get the current version of this FAQ
  1420.  
  1421. This FAQ is posted monthly on comp.mail.list-admin.software, comp.answers,
  1422. and news.answers.  It is then archived at news.answers archives including
  1423. <ftp://ftp.uu.net/usenet/news.answers/mail/list-admin/software-faq>.
  1424.  
  1425. In addition, the current version may be retrieved from these mail servers:
  1426.  
  1427.     Write "get doc mlm-software-faq" in the body of mail to
  1428.     ListProc@avs.com
  1429.  
  1430.     Write "get mlm-software faq" in the body of mail to
  1431.     LISTSERV@listserv.net
  1432.  
  1433.     Write "get file mlm-software-faq" in the body of mail to
  1434.     Majordomo@pop.psu.edu
  1435.  
  1436.     Write "archive get FAQ/mlm-software" in the subject or body of mail to
  1437.     SmartList-request@informatik.rwth-aachen.de
  1438.  
  1439. ------------------------------
  1440.  
  1441. Subject: 4.01  Changes in this version
  1442.  
  1443. 1.1: not many changes (though I am collecting a long list of changes to make
  1444. later, when I have more time).  Some errors are corrected (see section 4.02).
  1445. Notations are made in the LISTSERV, MAISER, and Majordomo sections that new
  1446. versions are out or soon to be out.  The section on IDG is new.
  1447.  
  1448. ------------------------------
  1449.  
  1450. Subject: 4.02  Acknowledgements
  1451.  
  1452. In version 1.0.1.0, the first posted to news.answers, I depended heavily on
  1453. the kindness of the various MLMs' authors.  Without their annotations and
  1454. corrections it would have been a misleading document.  Two people who were
  1455. *very* patient with me were Eric Thomas (author of LISTSERV) and Stephen van
  1456. den Berg (author of SmartList).  Especially Stephen :-).  Also, David Barr,
  1457. author of the Majordomo FAQ, is the man who suggested I turn this document
  1458. into a FAQ in the first place -- I originally intended for it to be just a
  1459. few paragraphs in his document, and somehow it ballooned ...
  1460.  
  1461. In version 1.1, most changes I made were to correct errors that various
  1462. people spotted and pointed out to me.  Specifically:
  1463.  
  1464. Bob Bagwill <bagwill@sst.ncsl.nist.gov> pointed out that SmartList's remote
  1465. administration by mail requires placement of commands in the message header.
  1466.  
  1467. Brent Chapman <Brent@GreatCircle.Com> corrected my misapprehension that he
  1468. was the author of Majordomo's link to ftpmail :-) while kindly taking the
  1469. time to read over the FAQ as a sort of historical consultant.
  1470.  
  1471. Michelle Dick <artemis@netcom.com> has written several messages that changed
  1472. my *view* of some issues (this goes back to the first version) -- so I can't
  1473. quite point to which section she changed, but her influence is in there.
  1474.  
  1475. Joe Sparrow <jsparrow@uwm.uvic.ca> was the first to point out to me that my
  1476. discussion of MTA's and MUA's under VM was incorrect, and to give me a clear
  1477. view of what the situation really is.
  1478.  
  1479. David W. Tamkin <dattier@wwa.com> caught my use of "priority" when I meant
  1480. "precedence."
  1481.  
  1482. Windigo the Feral <windigo@thepoint.com> sent a very nice description of a
  1483. particular type of built-in mailing list support, in DG/UX Sendmail.
  1484.  
  1485. Needless to say, I am responsible for all errors that remain.
  1486.  
  1487. ------------------------------
  1488.  
  1489. Subject: 4.03  Acronyms explained (FAQ, MLM, MTA, MUA)
  1490.  
  1491. "FAQ": Frequently Answered Question -- something that comes up a lot on
  1492. USENET and mailing lists, annoying the "regulars."  Also refers to a document
  1493. containing a collection of these frequently asked questions and their
  1494. answers.  This document is therefore a FAQ.
  1495.  
  1496. "MLM": Mailing-List Manager -- the software handling the subscription list
  1497. and (usually) distribution of mail.  In contrast, the person who owns or
  1498. moderates a list is usually called the list owner (though this is debated).
  1499.  
  1500. "MTA": Mail Transport Agent -- the program handling actual delivery of mail.
  1501. On Unix systems this is usually Sendmail, Smail, or Zmailer.  On IBM
  1502. mainframes running VM (I don't know about other IBM OS's), you may see LMAIL,
  1503. XMAILER, or IBM's SMTP product; on VMS systems you may see PMDF or MX.
  1504.  
  1505. "MUA": Mail User Agent -- the program the user interacts with to read and
  1506. write e-mail.  On Unix systems, popular MUA's are Elm, Pine, mail, mailx,
  1507. mush, etc.  On PC's, some common MUA's are cc:Mail, Pegasus (PMAIL),
  1508. Microsoft Mail, etc.  On IBM mainframes, you see mostly Rice Mail (MailBook)
  1509. under VM, and others like PROFS under the other OS's.  On VMS systems, common
  1510. MUA's are VMS Mail and All in 1.
  1511.  
  1512. ------------------------------
  1513.  
  1514. Subject: 4.04  URL's -- how to read them and use them
  1515.  
  1516. URL stands for "Uniform Resource Locator" -- it tends to be associated with
  1517. the World-Wide Web, though it's a more general-purpose tool than that.  In
  1518. this document, URL's are used to specify where to get something by ftp, like
  1519. this: "ftp://foo.bar.edu/pub/blah/blah.Z".
  1520.  
  1521. The URL's in this document are surrounded by angle brackets "<>".  If you're
  1522. lucky (depends on the software you're using to read this FAQ), you may be
  1523. able to "follow" these references automatically by clicking on them.  If you
  1524. can't, here's how to read and use them:
  1525.  
  1526. The part before the colon ("ftp" in this example) is the service type.  Some
  1527. common service types are "ftp," "telnet," "gopher," and "http" (which is
  1528. Hypertext Transfer Protocol, used in the World-Wide Web). The part between
  1529. the "//" and the next slash is the name of the host you should connect to,
  1530. sometimes with a specific port specified.  For example,
  1531. "telnet://foo.bar.edu:1999/" would mean "use the telnet protocol to connect
  1532. to foo.bar.edu on (non-standard) port 1999."  Finally, the part after the
  1533. host name is the "path" you should follow to your destination, and its use
  1534. varies depending on which protocol is involved. If HTTP is the protocol, just
  1535. type the whole reference into your World-Wide Web browser (in fact, you can
  1536. type *any* URL into a WWW browser, which makes life easy).  If FTP is the
  1537. protocol, which is mostly the case in this document, follow this recipe: use
  1538. your ftp program to connect to the named host, and log in as "anonymous,"
  1539. giving your e-mail address as a password.  (If you are lucky, your ftp
  1540. program will take care of the login for you.)  Then, use the cd command to
  1541. change to the first directory listed, in this example "pub."  Then cd to the
  1542. next directory, in this case "blah."  Continue until you get to the last
  1543. part, which is a file name -- switch to binary mode if appropriate (it
  1544. usually is), and get the file: "get blah.Z".  If the URL ends in a slash, it
  1545. means the file is somewhere in the specified directory: get to the directory
  1546. and look around using "dir".
  1547.  
  1548.       ******* End of the Mailing List Management Software FAQ *******
  1549.  
  1550.